CosyOS-III API 用户参考手册  1.0.2
ur_eapi.h
浏览该文件的文档.
1 /**************************************************************************/
12 #ifndef __UR_EAPI_H
13 #define __UR_EAPI_H
14 
15 
16 
17 /* 清除就绪延时 */
18 #define iClearDelay sPSV_ClearDelay
19 #define pClearDelay sPS2_ClearDelay
20 
21 /* 恢复任务 */
22 #define tResumeTask(task) sTSV_ResumeTask(u_taskhandle_##task)
23 #define iResumeTask(task) sPSV_ResumeTask(u_taskhandle_##task)
24 #define pResumeTask(task) sPS2_ResumeTask(u_taskhandle_##task)
25 
26 /* 挂起任务 */
27 #define tSuspendTask(task) sTSV_SuspendTask(u_taskhandle_##task)
28 #define iSuspendTask(task) sPSV_SuspendTask(u_taskhandle_##task)
29 #define pSuspendTask(task) sPS2_SuspendTask(u_taskhandle_##task)
30 
31 /* 删除任务 */
32 #define tDeleteTask(task) sTSV_DeleteTask(u_taskhandle_##task)
33 #define iDeleteTask(task) sPSV_DeleteTask(u_taskhandle_##task)
34 #define pDeleteTask(task) sPS2_DeleteTask(u_taskhandle_##task)
35 
36 /* 设置任务优先级 */
37 #define tSetTaskPri(task, npri) sTSV_SetTaskPri(u_taskhandle_##task, npri)
38 #define iSetTaskPri(task, npri) sPSV_SetTaskPri(u_taskhandle_##task, npri)
39 #define pSetTaskPri(task, npri) sPS2_SetTaskPri(u_taskhandle_##task, npri)
40 
41 /* 清除阻塞(状态)*/
42 #define tClearBlock(task) sTSV_ClearBlock(u_taskhandle_##task)
43 #define iClearBlock(task) sPSV_ClearBlock(u_taskhandle_##task)
44 #define pClearBlock(task) sPS2_ClearBlock(u_taskhandle_##task)
45 
46 /* 设置阻塞-滴答周期 */
47 #define tSetBlock_tc(task, tc) sTSV_SetBlock(u_taskhandle_##task, tc)
48 #define iSetBlock_tc(task, tc) sPSV_SetBlock(u_taskhandle_##task, tc)
49 #define pSetBlock_tc(task, tc) sPS2_SetBlock(u_taskhandle_##task, tc)
50 
51 /* 设置阻塞-毫秒 */
52 #define tSetBlock_ms(task, ms) tSetBlock_tc(task, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
53 #define iSetBlock_ms(task, ms) iSetBlock_tc(task, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
54 #define pSetBlock_ms(task, ms) pSetBlock_tc(task, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
55 
56 /* 设置阻塞-秒钟 */
57 #define tSetBlock_s(task, s) tSetBlock_ms(task, 1000UL * (s))
58 #define iSetBlock_s(task, s) iSetBlock_ms(task, 1000UL * (s))
59 #define pSetBlock_s(task, s) pSetBlock_ms(task, 1000UL * (s))
60 
61 /* 设置阻塞-分钟 */
62 #define tSetBlock_m(task, m) tSetBlock_s(task, 60UL * (m))
63 #define iSetBlock_m(task, m) iSetBlock_s(task, 60UL * (m))
64 #define pSetBlock_m(task, m) pSetBlock_s(task, 60UL * (m))
65 
66 /* 设置阻塞-小时 */
67 #define tSetBlock_h(task, h) tSetBlock_m(task, 60UL * (h))
68 #define iSetBlock_h(task, h) iSetBlock_m(task, 60UL * (h))
69 #define pSetBlock_h(task, h) pSetBlock_m(task, 60UL * (h))
70 
71 /* 定时中断-滴答周期 */
72 #define tTimInt_tc(tmid, tc) sTSV_TimInt(tmid, tc)
73 #define iTimInt_tc(tmid, tc) sPSV_TimInt(tmid, tc)
74 
75 /* 定时中断-毫秒 */
76 #define tTimInt_ms(tmid, ms) tTimInt_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
77 #define iTimInt_ms(tmid, ms) iTimInt_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
78 
79 /* 定时中断-秒钟 */
80 #define tTimInt_s(tmid, s) tTimInt_ms(tmid, 1000UL * (s))
81 #define iTimInt_s(tmid, s) iTimInt_ms(tmid, 1000UL * (s))
82 
83 /* 定时中断-分钟 */
84 #define tTimInt_m(tmid, m) tTimInt_s(tmid, 60UL * (m))
85 #define iTimInt_m(tmid, m) iTimInt_s(tmid, 60UL * (m))
86 
87 /* 定时中断-小时 */
88 #define tTimInt_h(tmid, h) tTimInt_m(tmid, 60UL * (h))
89 #define iTimInt_h(tmid, h) iTimInt_m(tmid, 60UL * (h))
90 
91 /* 终止定时中断 */
92 #define tTimInt_Cancel(tmid) tTimInt_tc(tmid, 0)
93 #define iTimInt_Cancel(tmid) iTimInt_tc(tmid, 0)
94 
95 /* 定时查询-滴答周期 */
96 #define tTimQry_tc(tmid, tc) sTSV_TimQry(tmid, tc)
97 #define iTimQry_tc(tmid, tc) sPSV_TimQry(tmid, tc)
98 
99 /* 定时查询-毫秒 */
100 #define tTimQry_ms(tmid, ms) tTimQry_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
101 #define iTimQry_ms(tmid, ms) iTimQry_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
102 
103 /* 定时查询-秒钟 */
104 #define tTimQry_s(tmid, s) tTimQry_ms(tmid, 1000UL * (s))
105 #define iTimQry_s(tmid, s) iTimQry_ms(tmid, 1000UL * (s))
106 
107 /* 定时查询-分钟 */
108 #define tTimQry_m(tmid, m) tTimQry_s(tmid, 60UL * (m))
109 #define iTimQry_m(tmid, m) iTimQry_s(tmid, 60UL * (m))
110 
111 /* 定时查询-小时 */
112 #define tTimQry_h(tmid, h) tTimQry_m(tmid, 60UL * (h))
113 #define iTimQry_h(tmid, h) iTimQry_m(tmid, 60UL * (h))
114 
115 /* 终止定时查询 */
116 #define tTimQry_Cancel(tmid) tTimQry_tc(tmid, ~0)
117 #define iTimQry_Cancel(tmid) iTimQry_tc(tmid, ~0)
118 
119 /* 上锁二值信号量 */
120 #define tLockBin(bin) bin.binary = false
121 #define iLockBin(bin) sPSV_WriteBin(bin, false)
122 #define pLockBin(bin) sPS2_WriteBin(bin, false)
123 
124 /* 给予二值信号量 */
125 #define tGiveBin(bin) sTSV_GiveBin(bin)
126 #define iGiveBin(bin) sPSV_WriteBin(bin, true)
127 #define pGiveBin(bin) sPS2_WriteBin(bin, true)
128 
129 /* 获取二值信号量 */
130 #define tTakeBin(bin) sTSV_TakeBin(bin)
131 #define iTakeBin(bin) sISV_TakeBin(bin)
132 
133 /* 归还二值信号量 */
134 #define tBackBin(bin) bin.binary = true
135 #define iBackBin(bin) bin.binary = true
136 
137 /* 给予计数信号量 */
138 #define tGiveSem(sem) sTSV_GiveSem(sem)
139 #define iGiveSem(sem) sPSV_GiveSem(sem)
140 
141 /* 获取计数信号量 */
142 #define tTakeSem(sem) sTSV_TakeSem(sem)
143 
144 /* 归还计数信号量 */
145 #define tBackSem(sem) tGiveSem(sem)
146 
147 /* 接收飞信 */
148 #define tRecvFetion(tbox) sTSV_RecvFetion(tbox)
149 #define iRecvFetion(tbox) sISV_RecvFetion(tbox)
150 
151 /* 发送飞信 */
152 #define tSendFetion(tbox, tion) sTSV_SendFetion(tbox, tion)
153 #define iSendFetion(tbox, tion) sPSV_SendFetion(tbox, tion)
154 
155 /* 接收邮件 */
156 #define tRecvMail(mbox) sTSV_RecvMail(mbox)
157 #define iRecvMail(mbox) sISV_RecvMail(mbox)
158 
159 /* 发送邮件 */
160 #define tSendMail(mbox, mail) sTSV_SendMail(mbox, mail)
161 #define iSendMail(mbox, mail) sPSV_SendMail(mbox, mail)
162 
163 /* 接收消息 */
164 #define tRecvMsg(que) sTSV_RecvMsg(que)
165 #define iRecvMsg(que) sISV_RecvMsg(que)
166 
167 /* 发送消息 */
168 #define tSendMsg(que, msg) sTSV_SendMsg(que, msg)
169 #define iSendMsg(que, msg) sPSV_SendMsg(que, msg)
170 
171 /* 查询标志组 */
172 #define tQueryFlagGroup(group) sTSV_QueryFlagGroup(group)
173 #define iQueryFlagGroup(group) sISV_QueryFlagGroup(group)
174 
175 /* 清除标志组 */
176 #define tClearFlagGroup(group) sTSV_ClearFlagGroup(group)
177 #define iClearFlagGroup(group) sPSV_ClearFlagGroup(group)
178 
179 /* 设置标志位 */
180 #define tSetFlagBit(group, bit) tSetFlagBits(group, 1) bit)
181 #define iSetFlagBit(group, bit) iSetFlagBits(group, 1) bit)
182 
183 /* 清除标志位 */
184 #define tClearFlagBit(group, bit) tClearFlagBits(group, 1) bit)
185 #define iClearFlagBit(group, bit) iClearFlagBits(group, 1) bit)
186 
187 /* 设置多标志位 */
188 #define tSetFlagBits(group, nbit) sTSV_WriteFlagBits(group, true, nbit)
189 #define iSetFlagBits(group, nbit) sPSV_WriteFlagBits(group, +, nbit)
190 
191 /* 清除多标志位 */
192 #define tClearFlagBits(group, nbit) sTSV_WriteFlagBits(group, false, nbit)
193 #define iClearFlagBits(group, nbit) sPSV_WriteFlagBits(group, -, nbit)
194 
195 /* 获取时间 */
196 #define tGetTime(t) sTSV_GetTime(t)
197 #define iGetTime(t) sISV_GetTime(t)
198 
199 /* 设置时间 */
200 #define tSetTime(t) sTSV_SetTime(t)
201 #define iSetTime(t) sPSV_SetTime(t)
202 
203 /* 别名定义(API简化)*/
204 #define uRecvFet uRecvFetion
205 #define tRecvFet tRecvFetion
206 #define iRecvFet iRecvFetion
207 #define uSendFet uSendFetion
208 #define tSendFet tSendFetion
209 #define iSendFet iSendFetion
210 
211 
212 
213 #endif